package es.udc.emarketapp.emarket.model.categoryFacade.actions;

import es.udc.emarketapp.emarket.model.category.dao.SQLCategoryDAO;
import es.udc.emarketapp.emarket.model.category.dao.SQLCategoryDAOFactory;
import es.udc.emarketapp.emarket.model.category.vo.CategoryVO;
import java.sql.Connection;

import es.udc.fbellas.j2ee.util.exceptions.InternalErrorException;
import es.udc.fbellas.j2ee.util.sql.TransactionalPlainAction;


public class CreateCategoryAction implements TransactionalPlainAction {

    private CategoryVO categoryVO;

    public CreateCategoryAction(CategoryVO categoryVO) {
        this.categoryVO = categoryVO;
    }

 
    public Object execute(Connection connection)
        throws InternalErrorException {

        SQLCategoryDAO categoryDAO = SQLCategoryDAOFactory.getDAO();

        // si no tiene definida categoria padre se le asigna la categoria raiz, idCat=1
        if (categoryVO.getCatPadre() == null){
                categoryVO.setCatPadre(new Long(1));
        }

        return categoryDAO.create(connection, categoryVO);

    }


}
